import {NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {FormsModule, ReactiveFormsModule} from '@angular/forms';
import {SharedModule} from '../../shared/shared.module';
import {AdminRoutingModule} from './admin-routing.module';
import {AdminComponent} from './admin.component';
import {RoleComponent} from './role/role.component';
import {UserComponent} from './user/user.component';
import {MenuComponent} from './menu/menu.component';
import {MenuListComponent} from './menu/menu-list/menu-list.component';
import {MenuEditComponent} from './menu/menu-edit/menu-edit.component';
// import {
//   DropdownModule,
//   TreeTableModule,
//   TreeModule,
//   SharedModule as PrimengSharedModule
// } from 'primeng/primeng';
import {DropdownModule} from 'primeng/dropdown';
import {TreeTableModule} from 'primeng/treetable';
import {TreeModule} from 'primeng/tree';
import {SharedModule as PrimengSharedModule} from 'primeng/shared';

import {MenuService} from '../../service/menu.service';
import {MenuParamListComponent} from './menu/menu-param-list/menu-param-list.component';
import {MenuParamEditComponent} from './menu/menu-param-edit/menu-param-edit.component';
import {MenuParamService} from '../../service/menu_param.service';
import {RoleListComponent} from './role/role-list/role-list.component';
import {RoleEditComponent} from './role/role-edit/role-edit.component';
import {RoleService} from '../../service/role.service';
import {MenuAccessService} from '../../service/menu_access.service';
import {MenuShortcutService} from '../../service/menu_shortcut.service';
import {PermissionService} from '../../service/permission.service';
import {RolePermissionService} from '../../service/role-permission.service';

import {MenuAccessEditComponent} from './role/menu-access/menu-access-edit/menu-access-edit.component';
import {MenuAccessListComponent} from './role/menu-access/menu-access-list/menu-access-list.component';
import {RolePermissionListComponent} from './role/role-permission/role-permission-list/role-permission-list.component';
import {RolePermissionEditComponent} from './role/role-permission/role-permission-edit/role-permission-edit.component';
import {RolePermissionComponent} from './role/role-permission/role-permission.component';
import {MenuAccessComponent} from './role/menu-access/menu-access.component';
import {MenuShortcutComponent} from './role/menu-shortcut/menu-shortcut.component';
import {MenuShortcutListComponent} from './role/menu-shortcut/menu-shortcut-list/menu-shortcut-list.component';
import {MenuShortcutEditComponent} from './role/menu-shortcut/menu-shortcut-edit/menu-shortcut-edit.component';

@NgModule({
  imports: [
    CommonModule,
    AdminRoutingModule,
    SharedModule,
    FormsModule,
    ReactiveFormsModule,
    DropdownModule,
    TreeTableModule,
    TreeModule,
    PrimengSharedModule
  ],
  declarations: [
    AdminComponent,
    RoleComponent,
    UserComponent,
    AdminComponent,
    MenuComponent,
    MenuListComponent,
    MenuEditComponent,
    MenuParamListComponent,
    MenuParamEditComponent,
    RoleListComponent,
    RoleEditComponent,
    MenuAccessListComponent,
    MenuAccessEditComponent,
    RolePermissionListComponent,
    RolePermissionEditComponent,
    RolePermissionComponent,
    MenuAccessComponent,
    MenuShortcutComponent,
    MenuShortcutListComponent,
    MenuShortcutEditComponent],
  entryComponents: [
    MenuListComponent,
    MenuEditComponent,
    MenuParamListComponent,
    MenuParamEditComponent,
    RoleListComponent,
    RoleEditComponent,
    MenuAccessListComponent,
    MenuAccessEditComponent,
    RolePermissionListComponent,
    RolePermissionEditComponent,
    MenuShortcutListComponent,
    MenuShortcutEditComponent,
  ],
  providers: [
    MenuService,
    MenuParamService,
    RoleService,
    MenuAccessService,
    MenuShortcutService,
    PermissionService,
    RolePermissionService,
  ]
})
export class AdminModule {
}


// WEBPACK FOOTER //
// ./src/app/module/admin/admin.module.ts
